<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
   <meta name="GENERATOR" content="Mozilla/4.76 [en] (Windows NT 5.0; U) [Netscape]">
   <title>Platform Text Component</title>
</head>
<body text="#000000" bgcolor="#FFFFFF">
&nbsp;
<table BORDER=0 CELLSPACING=5 CELLPADDING=2 WIDTH="100%" >
<tr>
    <td ALIGN=LEFT VALIGN=TOP COLSPAN="2" WIDTH="100%" BGCOLOR="#595791"><font face="Arial,Helvetica"><font color="#FFFFFF">Overall 
      Platform Text 3.1 Plan</font></font></td>
</tr>

  <tr> 
    <td WIDTH="100%"> 
    <p>Last revised 18:30 CET July 19, 2005

    
      <p>This is the final plan.</p>
      <h2><a NAME="Overall_Planning"></a>Overall goals </h2>
      <p>This section defines the committed goals for Eclipse 3.1 for the Platform 
        Text and the JDT Text component. Each goal is annotated with the overall 
        3.1 Eclipse theme it contributes to. </p>
      <h3>Platform</h3>
      <ul>
        <li> <img src="../images/ok.gif" nosave="" border="0" height="10" width="10">
          Improve overall performance and stabilize on memory consumption. This 
          includes open editor, quick diff, open quick outline, typing speed, 
          redraw behavior, scrolling. Define a set of scenarios and assign to 
          each scenario a concrete performance goal. <b>[Built to last]</b> 
          <ul>
            <li> 
              <img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> define a <a href="performance_scenarios.html">set of scenarios</a>.
            </li>
          </ul>
        </li>
        <li> 
          <p><img src="../images/ok.gif" nosave="" border="0" height="10" width="10">
            Write stable and if possible automated performance and memory footprint 
            tests for Text and Java editors and some of its actions. A testing 
            framework should be provided which enables to write stable performance 
            and memory tests. Tests need to be put in place and maintained such 
            that performance and memory consumption of editor related tasks like 
            opening, typing, scrolling and Quick Diff can be monitored.<b> </b>Investigate 
            introspective performance measurement support: Allow users to run 
            performance tests and collect data (open files, preferences) to report 
            performance issues. <b>[Built to last]</b></p>
        </li>
        <li> 
          <p><img src="../images/ok.gif" nosave="" border="0" height="10" width="10">
            Increase correctness test coverage of the text infrastructure. <b>[Built 
            to last] </b></p>
        </li>
        <li> <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10">
          Consolidate and extend platform. <b>[Built to last, Rich client platform, 
          Large-scale development] </b> </li>
        <ul>
          <li>Consolidate platform based on experience from larger clients such as the Eclipse Web Tools Platform Project.</li>
          <li>Prepare editor infrastructure for embedding (editors inside editors and views)<br>
          		&rArr; made a feasibilty study and sent feedback about Component framework proposal to Platform UI.
          </li>
          <li>Improve code quality.</li>
        </ul>
        <li> 
          <p> <img src="../images/ok.gif" nosave="" border="0" height="10" width="10">
            Improve overall integration with the workbench. This includes consolidation 
            of preferences and increased preference sharing as well as seamless 
            support for user configurable editor based on content types. Investigate direct 
            access to preferences where useful. <b>[Simple to use, Large-scale 
            development]</b> </p>
        </li>
        <li> 
          <p><font class="indexsub" color="#8080ff">[partially &gt;3.1]</font>
          	Provide better text editor support for RCP. The list of functions 
            to add will grow over time. The initial set includes: annotation presentation 
            and navigation, user assigned colors and fonts, pluggable spelling engines (<img src="../images/ok.gif" nosave="" border="0" height="10" width="10">), spell checking, user 
            defined, persistent folding, quick diff, templates, URL detection
            and handling (<img src="../images/ok.gif" nosave="" border="0" height="10" width="10">). <b>[Rich client platform]</b></p>
        </li>
        <li>
          <p><font class="indexsub" color="#8080ff">[partially &gt;3.1]</font>
          	Make the Default Text editor your favorite text editor. From time 
            to time users switch to an external text editor. The goal of this 
            plan item is to enhance the Text editor so that there is no longer 
            a need to switch. The list of functions to add will grow over time. 
            The initial set includes: annotation navigation, user assigned colors 
            and fonts, pluggable spelling engines (<img src="../images/ok.gif" nosave="" border="0" height="10" width="10">), spell checking, user defined, persistent folding, templates, 
            URL detection and handling (<img src="../images/ok.gif" nosave="" border="0" height="10" width="10">). <b>[Simple to use]</b></p>
        </li>
        <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10">
          Help clients such as the Eclipse Web Tools Platform Project to improve 
          their overall integration with the Platform Text components and the 
          workbench in general. <b>[Broadening the community]</b></li>
        <ul>
        </ul>
      </ul>
      <h3>JDT</h3>
      <ul>
        <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> Improve the Java editors. <b>[Simple to use, Large-scale development]</b> 
          <ul>
            <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> 
              Provide additional convenience and productivity text manipulation 
              functions.</li>
            <li> <img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> 
              Continue the &quot;information at your finger tips&quot; and &quot;non-intrusive 
              UI&quot; themes. 
              <ul>
                <li>Improve on rich visual modeless feedback.</li>
              </ul>
            </li>
            <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> Investigate direct access to preferences where useful.</li>
            <li>Provide extension point to allow for useful additions to the reconciling process such as running audits.</li>
            <li>Provide extension point to allow for useful additions to the content assist and template proposals.</li>
          </ul>
        </li>
        <li><font class="indexsub" color="#8080ff">[partially &gt;3.1]</font>
          Improve string externalization. Possible work items are collected <a href="../development/String_Externalization_Improvements.html">here</a>. <b>[Simple 
          to use]</b></li>
        <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> J2SE 5.0 Support (<a href="http://www.eclipse.org/jdt/ui/r3_1/j2se50/Status.html">JDT UI's overall status</a>) <b>[J2SE 5 support]</b></li>
        <ul>
          <li><span style="font-style: italic;">Ensure Java Editor and all its 
            J2SE 1.4 coding features work with new JLS3 AST</span><br>
            The first priority is to get the same product quality when coding 
            against J2SE 1.4 as we have with Eclipse SDK 3.0. JDT text code needs 
            to be adapted to the new JLS3 AST and ensured that it is not broken 
            by new Java element types and deltas. Affected areas are syntax highlighting, 
            occurrence marking and Java outline page.<br>
          </li>
          <li><span style="font-style: italic;">Enable Java coding against J2SE 5.0</span><br>
            Existing features like syntax highlighting, occurrence marking, auto-indentation, 
            Java Outline page and formatting need to be made J2SE 5.0 aware.
          </li>
          <li><span style="font-style: italic;">Add new features for J2SE 5.0</span><br>
              New features include annotation folding, matching &lt; bracket support, 
              auto insertion of closing &gt;, new keyword and syntax highlighting, 
              e.g. for generics and enums, and new templates. Provide hover support 
              for annotations such as @override.</p>
          </li>
        </ul>
        <li> [investigate] Contribute to the resolution of the &quot;many errors&quot; 
          issue. (cross team issue) 
          <ul>
            <li> If a project is improperly setup, opening a file of that project 
              can result in lots of temporary problems. On open, the editor could 
              propose to filter all ripple errors and to show only relevant errors.</li>
            <li>When auto-build is enabled, the editor can warn the user when a 
              file is saved for which temporary errors exist.</li>
          </ul>
        </li>
      </ul>
      <h2><a NAME="Work_Items"></a>Work items</h2>
      <p>Work items represent subjects on which the Platform/JDT Text team will 
        work in the course of the 3.1 development. The listed subitems represent 
        initial input based on the current state of knowledge. There might be 
        shifts of focus during the development process. Items that are affected 
        by the concrete resolution of cross team issues are marked as such. Items 
        that are of exploratory nature are tagged with [investigate].</p>
      <h3>Component independent</h3>
      <ul>
        <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> code cleanup</li>
        <ul>
          <li>cleanup implementation to only use up-to-date concepts</li>
          <li>cleanup plugin.xml files and code which still uses pre-3.0 extension 
            points and attributes (e.g. actionDefinitionId)</li>
          <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> remove AbstractTextEditor dependency on internals of org.eclipse.ui</li>
          <li>Javadoc 
            <ul>
              <li>enforce uniform Javadoc style (usage of link, @value tag, etc.)</li>
              <li>complete Javadoc (internal classes, private methods, etc.)</li>
            </ul>
          </li>
          <li>[investigate] separate backward compatibility code from up-to-date 
            code</li>
        </ul>
        <li>dynamic plug-in loading/unloading 
          <ul>
            <li>describe dynamic capabilities</li>
            <li>[investigate] prepare for dynamic plug-in deactivation</li>
          </ul>
        </li>
      </ul>
      <h3>Platform</h3>
      <ul>
        <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> 
          file buffers 
          <ul>
            <li>provide file buffer level undo and composite changes</li>
            <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10""> allow validateEdit on a set of file buffers</li>
            <li>allow buffers for non-existing files that get automatically created 
              when committing the file buffer</li>
            <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> provide setDirty on IFileBuffer</li>
            <li>provide a disconnect method that automatically calls commit in 
              case the file buffer is dirty and after the call no longer shared</li>
            <li>allow new implementations to be plugable (RCP does not include 
              the IResource based implementation, IDE does)</li>
            <li>clarify document creation and document setup extension points</li>
            <li>provide standard way to modify document provided by a text file 
              buffer in a non-UI thread</li>
            <li>[investigate] provide implementation for IStorage</li>
            <li>[investigate] Is it possible to automate validateEdit on the first 
              document change?</li>
            <li>[investigate] on demand activation of partitioning (created only 
              when somebody asks for it)</li>
          </ul>
        </li>
        <li>reconciler 
          <ul>
            <li>clarify life cycle (multiple concurrent reconcilers on unconfigure/configure)</li>
            <li>dirty region management in the incremental reconciler 
              <ul>
                <li>a reconciling strategy should cross out the dirty regions 
                  it consumed</li>
                <li>dirty regions get only removed from the queue if there is 
                  a guarantee that they have been consumed</li>
                <li>type of change for a dirty region are exploited</li>
              </ul>
            </li>
            <li>provide closer integration of reconciling steps 
              <ul>
                <li>automatic propagation of the progress monitor to all individual 
                  reconciling steps</li>
              </ul>
            </li>
            <li>[investigate] adaptive reconciler timing</li>
          </ul>
        </li>
        <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> 
          headless text infrastructure 
          <ul>
            <li>revisit synchronization issues between annotation model and document 
              <ul>
                <li>annotation map is synchronized but not the operations on the annotation 
                  model itself, leaving a temporal gap in which concurrent modifications 
                  can happen</li>
              </ul>
            </li>
            <li>[investigate] time stamped document events</li>
          </ul>
        </li>
        <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> 
          encoding (cross team issue) 
          <ul>
            <li>transfer encoding upon Save As...</li>
            <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> listen to and handle encoding changes in the encoding UI</li>
            <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> clarify BOM handling in case of encoding changes</li>
          </ul>
        </li>
        <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> folding 
          <ul>
            <li>introduce structured folding change events</li>
            <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> improve annotation summaries 
              <ul>
                <li>allow for customization of annotation summaries</li>
                <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> provide hovers for annotation summaries</li>
              </ul>
            </li>
            <li>improve the in-text folding indicator 
              <ul>
                <li>provide hovers</li>
                <li>indicate the amount of collapsed text</li>
                <li>expand on double or single click</li>
              </ul>
            </li>
            <li>polish presentation 
              <ul>
                <li>animate collapse/expand</li>
                <li>change folding icon (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61725">bug 61725</a>)</li>
                <li>[investigate] when hovering over the end of a foldable region 
                  of which the beginning is not visible a hover with the start 
                  line is shown </li>
              </ul>
            </li>
            <li>[investigate] enabled folding structure provider for content types</li>
            <li>[investigate] character based folding UI (cross team issue)</li>
            <li>[investigate] reordering of code based on direct interaction with 
              the folding control</li>
          </ul>
        </li>
        <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> 
          formatter 
          <ul>
            <li>tackle performance issues for large files 
              <ul>
                <li>use SequentialRewriteStore</li>
                <li>check possibility of temporal removing of partitioners</li>
              </ul>
            </li>
          </ul>
        </li>
        <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> 
          Open External File 
          <ul>
            <li> find a way to open external files also when registered editor 
              does not support file buffers </li>
            <li>support vertical ruler, overview ruler etc.; provide annotation 
              model that is not resource dependent</li>
            <li>generalize for non-text files (cross team issue)</li>
          </ul>
        </li>
        <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> 
          undo 
          <ul>
            <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> synchronize editor dirty bit with undo state (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=21493">bug 21493</a>)</li>
            <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> allow customization of maximum number of undos (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=21476">bug 21476</a>)</li>
            <li>introduce UI independent undo manager (see also file buffers)</li>
            <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> harmonize with potential global undo manager (cross team issue) </li>
          </ul>
        </li>
        <li>navigation 
          <ul>
            <li>generalize Last Edit Position to Edit History </li>
            <li> provide access to a light weight &quot;Go to&quot; menu similar 
              to the refactoring menu (cross team issue)</li>
            <li>improve bookmark usability: allow navigation via key binding (cross team issue)</li>
            <li>[investigate] improve navigation history 
              <ul>
                <li> introduce bread crumbs (explicit points of user requested 
                  navigation that stick out the normal browsing/navigation history)</li>
              </ul>
            </li>
          </ul>
        </li>
        <li>hovering 
          <ul>
            <li>allow interactive resizing of text and annotation hover popup 
              windows</li>
            <li>roll-over hovers 
              <ul>
                <li> solve single-click/double-click issues </li>
                <li>polish visual appearance such as asymmetric margins</li>
                <li>implement delay free appearance when entering vertical ruler</li>
                <li>solve accessibility issues</li>
                <li>[investigate] provide roll-overs for overview ruler</li>
              </ul>
            </li>
          </ul>
        </li>
        <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> 
          preferences 
          <ul>
            <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> increase number of sharable editor preferences 
              <ul>
                <li>eventually there should be no initial need for a preference 
                  page when a new type of editor is created </li>
              </ul>
            </li>
            <li>adapt to the core settings API, smoothly integrate with the workbench 
              vision (cross team issue)</li>
            <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> always split color settings in foreground/background, always allow 
              system/default color </li>
            <li style="color: rgb(0, 0, 0);"><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> revisit "spaces for tabs" preference 
              (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=19036">bug 
              19036</a>) 
              <ul>
                <li>reduce confusion without loosing functionality</li>
              </ul>
            </li>
            <li style="color: rgb(0, 0, 0);"><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> provide direct access 
              to preferences where useful</li>
            <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> [investigate] add line delimiter preference for workspace and 
              project level (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=3970">bug 
              3970</a>) (cross team issue)</li>
          </ul>
        </li>
        <li>annotations / annotation presentation 
          <ul>
            <li>all annotation types should support all presentation types (help 
              other teams porting to the new presentation types)</li>
            <li>allow annotations to be presented using text foreground/background 
              color (overlaps with syntax highlighting then) 
              <ul>
                <li>generalize AnnotationPainter and TextPresentation to be broader 
                  applicable </li>
              </ul>
            </li>
            <li>move header annotation type management to <font face="Courier New, Courier, mono">SourceViewerDecorationSupport</font> 
              and allow for customization via drop down (similar to Go to annotation)</li>
            <li>[investigate] allow users to reorder presentation layers 
              <ul>
                <li>generalize annotation presentation layer mechanism to support 
                  relative addressing (e.g., on top/below &lt;annotation type&gt;)</li>
              </ul>
            </li>
            <li>[investigate] introduce selective contribution of annotation types 
              to editor types (must be aligned with preference consolidation as 
              it contradicts)</li>
          </ul>
        </li>
        <li>editor 
          <ul>
            <li>offer "on save" hook e.g. to allow formatting or organize imports 
              on save (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=22742">bug 
              22742</a>) 
              <ul>
                <li>ensure that misbehaving pre-save participants do not cause 
                  loss of data</li>
              </ul>
            </li>
            <li>provide visible indication for invisible chars</li>
            <li>editor splitting &#224; la JEdit (top be aligned with editor embedding, 
              cross team issue) (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=8009">bug 
              8009</a>)</li>
            <li>editor reuse </li>
            <ul>
              <li>unify code path of creating and reusing an editor</li>
              <li>restructure AbstractTextEditor.createPartControl, consider inversion 
                of control (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=71081">bug 
                71081</a>)<br>
              </li>
              <li>update contributions (e.g. enable state of actions) if editor 
                input type changes (e.g. from IFile to external file)</li>
            </ul>
          </ul>
        </li>
        <ul>
          <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> 
            action contribution 
            <ul>
              <li>revisit action contribution (cross team issue) </li>
              <li>reduce performance impact of current platform architecture</li>
              <li>unify names and values of<font face="Courier New, Courier, mono"> 
                ITextEditorActionDefintionID</font>s</li>
            </ul>
          </li>
          <li>[investigate] editor status bar 
            <ul>
              <li><font color="#000000"> lock/pen icon rather than text (need 
                to check with screen readers)</font></li>
              <li><font color="#000000">show current key binding config name in 
                status line and offer double click to open the key binding dialog</font></li>
              <li><font color="#000000">show current line delimiter</font></li>
            </ul>
          </li>
          <li>[investigate] investigate chances of a SWT rich text widget</li>
          <li>[investigate] support for multiple clipboards</li>
        </ul>
        <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> typing 
          <ul>
            <li>smart typing 
              <ul>
                <li>improve smart backspace</li>
                <li>consolidate smart typing infrastructure</li>
              </ul>
            </li>
            <li>make delete line aware of selection</li>
            <li>introduce &quot;Remove block of empty lines&quot;</li>
            <li>revisit &quot;raw&quot; insert mode to be useful and not completely 
              dumb </li>
            <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> introduce light weight &quot;Surround with&quot; and &quot;Search&quot; 
              menu (cross team issue)</li>
            <li>[investigate] auto correct on typing</li>
            <li>[investigate] auto format on typing</li>
            <li>[investigate] direct interaction with auto edit strategies 
              <ul>
                <li> interactive placement of closing brackets/parenthesis </li>
                <ul>
                  <li>show pseudo character that can be moved and committed</li>
                  <li>after commit cursor jumps back after opening bracket</li>
                </ul>
              </ul>
            </li>
            <li>[investigate] zoom in/out feature (text size changes with mouse 
              wheel)</li>
            <li>[investigate] automatic reset of non-smart to smart or vice versa</li>
          </ul>
        </li>
        <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> 
          text manipulation 
          <ul>
            <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> add "Remove Trailing space" command for files, folders, and projects</li>
            <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> add &quot;Convert line delimiter&quot; command for files, folders, and projects</li>
            <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> consolidate text manipulation infrastructure</li>
            <li>[investigate] drag'n drop editing</li>
          </ul>
        </li>
        <li>interaction (mouse, keyboard) 
          <ul>
            <li>selection modes (line selection, word selection)</li>
            <li>right button mouse click with empty selection should set selection 
              <ul>
                <li>works only when clicks happens over useful target (not when 
                  right of end of line)</li>
              </ul>
            </li>
            <li>indicate caret location in overview ruler</li>
            <li>[investigate] revive gestures as action triggers (cross team issue)</li>
            <li>[investigate] action hovers (hovers with which you can interact) 
              <ul>
                <li>action hovers offer menus that contain sensible follow-up 
                  actions for activities triggering auto format, auto text, or 
                  auto correct</li>
                <li>single click undo of auto correct, for example</li>
              </ul>
            </li>
          </ul>
        </li>
        <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> 
          Quick diff 
          <ul>
            <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> provide memory efficient quick diff algorithm</li>
            <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> polish presentation of deleted lines in the line number ruler</li>
            <li><font class="indexsub" color="#8080ff">[&gt;3.1]</font> [investigate] character level diff in hover<font color="#000000"></font></li>
          </ul>
        </li>
        <li>embedded content 
          <ul>
            <li> nested partitionings</li>
            <li>find abstraction that represents editor capabilities for fragments 
              of different content type</li>
          </ul>
        </li>
        <li> [investigate] find/replace 
          <ul>
            <li>editor status bar: interactive find field with a drop down for 
              the find options (similar to Go to annotation)</li>
            <li>find all in file (similar to Mark occurrences)</li>
            <li>interactive Replace all (similar to Rename in file)</li>
            <li>provide a find/replace view part</li>
          </ul>
        </li>
        <li> [investigate] printing (cross team issue) 
          <ul>
            <li><font color="#000000">header/footer</font></li>
            <li><font color="#000000">disable painters when printing</font></li>
            <li><font color="#000000">allow line numbers</font></li>
            <li><font color="#000000">allow for separate print font</font></li>
          </ul>
        </li>
        <li>[investigate] templates 
          <ul>
            <li> tackle scalability issues for template preference page 
              <ul>
                <li>introduce categories</li>
                <li>auto hide certain templates (templates with generics are only 
                  visible if the compiler is at 1.5 level)</li>
              </ul>
            </li>
          </ul>
        </li>
        <li>[investigate] macro/scripting support (cross team issue) (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=8519">bug 
          8519</a>)</li>
      </ul>
      <h3>JDT </h3>
      <ul>
        <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> comment formatter</li>
        <ul>
          <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> improve handling of spaces (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=49686">bug 49686<span style="font-family: monospace;"></span></a>)</li>
          <li>provide support for custom tags</li>
          <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> provide support link tag</li>
          <li>improve HTML support<br>
          </li>
          <li>split general "comment" into Javadoc and code comments</li>
          <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> push down to JDT Core (cross team issue)</li>
          <li>[investigate] define formatting preference by providing an example</li>
        </ul>
        <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> 
          hovering 
          <ul>
            <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> support link tag</li>
            <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> correctly remove on focus change on all platforms<br>
            <li>support @inherit 
              <ul>
                <li>support inherited Javadoc even without @inherit</li>
              </ul>
            </li>
            <li>[investigate] extract information from external Javadoc</li>
            <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> [investigate] use <code>Browser</code> widget for Javadoc hover</li>
            <li>[investigate] allow to reach hover via mouse (i.e. F2 via mouse)</li>
            <li>[investigate] if no hover can be extracted inform user how to 
              correctly setup Javadoc and source hovers?</li>
          </ul>
        </li>
        <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> folding 
          <ul>
            <li>folding for Java headers (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61328">bug 
              61328</a>)</li>
          </ul>
        </li>
        <li>content assist 
          <ul>
            <li>support case-sensitive filtering</li>
            <li>introduce content assist processor extension point (already there 
              for Javadoc)</li>
            <li>consolidate content assist infrastructure to cover the concept 
              of presenting and choosing from parameter proposals</li>
            <li>auto activate content assist if completion trigger is also an 
              auto activation trigger</li>
            <li><font color="#000000">support code completion after &lt;code&gt;Te| 
              or &lt;tt&gt;Te|</font></li>
            <li>improve parameter info shown by content assist 
              <ul>
                <li>[investigate] show the Javadoc of the highlighted parameter</li>
              </ul>
            </li>
            <li><font color="#000000">[investigate] get support from JDT Core for parameter guessing, e.g. lazy for the selected proposal</font></li>
            <li><font color="#000000">[investigate] propose textual completion 
              based on file contents</font></li>
            <li><font color="#000000">[investigate] re-establish linked mode for 
              method calls on Show context info</font></li>
            <li><font color="#000000">[investigate] code assist remembers previous 
              choices in its rating</font></li>
          </ul>
        </li>
        <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> 
          syntax highlighting 
          <ul>
            <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> semantic coloring of 'deprecated' declaration/reference </li>
            <li>syntax highlighting preview on the preference page should background 
              highlight all occurrences of the selected type, also support backward 
              coupling</li>
            <li><font class="indexsub" color="#8080ff">[&gt;3.1]</font> improve integration with the color and font preferences provided by the workbench (cross team issue)</li>
            <li>[investigate] support coloring schemes, scheme switch on tool bar (cross team issue)</li>
            <li>[investigate] semantic highlighting should use annotations instead of its own model and listener</li>
            <li>[investigate] generalization of semantic highlighting model to be pushed down to Platform Text </li>
          </ul>
        </li>
        <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> spell checking
          <ul>
            <li>improve spell checking to ignore defined Java symbols or mark 
              spelling errors in symbols differently</li>
            <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> generalize spell checking for Platform Text 
              <ul>
                <li>dictionaries can be shared between different editor types</li>
                <li>enable more advanced checking such as grammar checking</li>
              </ul>
            </li>
            <li>rerun spell checking on dictionary change</li>
            <li>provide spell checking on file, folder, projects</li>
          </ul>
        </li>
        <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> 
          editor 
          <ul>
            <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> revisit out of the box colors including which syntax highlightings are enabled and also consider those for J2SE 5.0</li>
            <li>double click in outliner should transfer focus to editor (to be 
              aligned with the active Open Strategy)</li>
            <li><font color="#000000">matching delimiter highlighting for html 
              tags &lt;code&gt;&nbsp; &lt;/code&gt;</font></li>
            <li>generalize current scope indication and updating to be pushed 
              down to Platform Text</li>
            <li>[investigate] indicate current block in vertical ruler 
              <ul>
                <li>option for replacing the magnet; outliner synchronization 
                  stays the same</li>
              </ul>
            </li>
            <li>[investigate] method separator line</li>
          </ul>
        </li>
        <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> 
          navigation 
          <ul>
            <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> show URLs in comments as underlined text and allow to open such 
              links in a browser</li>
            <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> generalize hyperlink navigation to become part of Platform Text</li>
            <li>generalize annotation navigation support to become part of Platform Text </li>
            <li>[investigate] support Move to next parameter (see content assist: re-establish linked mode)</li>
          </ul>
        </li>
        <li>info views 
          <ul>
            <li>Javadoc view 
              <ul>
                <li>support links and link navigation</li>
                <li>support back and forward (tool bar and/or context menu)</li>
              </ul>
            </li>
            <li>introduce new info/quick views (investigate user configurability) 
              <ul>
                <li>references in workspace</li>
                <li>implementers</li>
                <li>references methods</li>
              </ul>
            </li>
          </ul>
        </li>
        <li>reconciling 
          <ul>
            <li>provide extension point to allow for useful additions to the reconciling 
              process such as running audits</li>
            <li>[investigate] generalize handling of temporary annotations implemented 
              in the CompilationUnitAnnotationModel to become part of Platform 
              Text</li>
          </ul>
        </li>
        <li>[investigate] Quick fix 
          <ul>
            <li>generalize QuickFix infrastructure to become part of Platform 
              Text</li>
          </ul>
        </li>
        <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> [investigate] Mark occurrences 
          <ul>
            <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> highlight implemented methods when clicking on implemented interface</li>
          </ul>
        </li>
      </ul>
      <h2>Cross team issues</h2>
      <p>This section contains cross team issues that have to be clarified. The 
        concrete outcome effects the dependent work items listed above.</p>
      <ul>
        <li>synchronized blocks compared to ILock</li>
        <li>reveal file types in preferences, define editors for file types rather 
          than extensions etc.</li>
        <li>editor splitting (to be synchronized with the Component Framework and multipage editor efforts)</li>
        <li>simplification/harmonizing of action contribution</li>
        <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> harmonize with potential global undo manager</li>
        <li><font class="indexsub" color="#8080ff">[&gt;3.1]</font> colors and fonts 
          <ul>
            <li>syntax color schemes</li>
            <li>integration with the colors and fonts preference page</li>
          </ul>
        </li>
        <li>gesture support/selection modes/hover configuration 
          <ul>
            <li>mouse/keyboard interaction is just a different kind of &quot;key&quot; 
              binding, i.e. a different kind of activating a command. We should 
              only provide the actions (command implementations) and the rest 
              should be user configurable.</li>
          </ul>
        </li>
        <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> JDT Core 
          <ul>
            <li>check for <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72234">bug 72234</a></li>
            <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> adoption of comment formatting</li>
          </ul>
        </li>
        <li> text independent editor layer implementing validateEdit</li>
        <li>predefined line terminator for new files (to be specified similar 
          to encoding)</li>
        <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> light weight menus:
        	<ul>
        		<li>Go to</li>
        		<li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> Search</li>
        		<li>Surround with</li>
        		<li>...</li>
        	</ul>
        <li>SWT 
          <ul>
            <li>SWT rich text widget providing different fonts, font styles, and 
              font sizes</li>
            <li>StyledText: allow for rendering of custom glyphs (needed for character 
              based folding)</li>
          </ul>
        </li>
        <li>scripting strategy of the platform</li>
        <li><font class="indexsub" color="#8080ff">[&gt;3.1]</font> compatibility layer for commands moved to LTK UI plug-in</li>
      </ul>
    </td>
</tr>

<tr>
    <td ALIGN=LEFT VALIGN=TOP COLSPAN="2" WIDTH="100%" BGCOLOR="#595791"><font face="Arial,Helvetica"><font color="#FFFFFF">3.1 
      Platform Text Milestone Plans</font></font></td>
</tr>

  <tr> 
    <td WIDTH="100%"> 

      <h3>Previous milestones</h3>
      <p>Previous 3.1 milestones can be reviewed <a href="previous_plans.html">here</a>.</p>
    </td>
</tr>

  <tr> 
    <td ALIGN=LEFT VALIGN=TOP COLSPAN="2" WIDTH="100%" BGCOLOR="#595791"><font face="Arial,Helvetica"><font color="#FFFFFF">Bug 
      Tracking</font></font></td>
</tr>

<tr>
<td>
<ul>
<li>
<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=NEW&bug_status=REOPENED&email1=platform-text-inbox@eclipse.org&emailtype1=exact&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&bugidtype=include&bug_id=&changedin=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&product=Platform&component=Text&short_desc=&short_desc_type=allwordssubstr&long_desc=&long_desc_type=allwordssubstr&keywords=&keywords_type=anywords&field0-0-0=noop&type0-0-0=noop&value0-0-0=&namedcmd=All&newqueryname=Text%2BNew&tofooter=1&order=Reuse%2Bsame%2Bsort%2Bas%2Blast%2Btime">newly
reported PRs</a></li>

<li>
<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=ASSIGNED&email1=platform-text-inbox@eclipse.org&emailtype1=exact&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&bugidtype=include&bug_id=&changedin=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&product=Platform&component=Text&short_desc=&short_desc_type=allwordssubstr&long_desc=&long_desc_type=allwordssubstr&keywords=&keywords_type=anywords&field0-0-0=noop&type0-0-0=noop&value0-0-0=&namedcmd=All&newqueryname=Text%2BInbox&tofooter=1&order=Reuse%2Bsame%2Bsort%2Bas%2Blast%2Btime">assigned
PRs</a></li>
</ul>
</td>
</tr>
</table>
<table border="0" cellpadding="2" cellspacing="5" width="100%"><tbody><tr><td colspan="4" align="left" bgcolor="#595791" valign="top" width="100%"><font face="Arial,Helvetica"><font color="#ffffff">Legend
			</font></font></td>
		</tr>
		<tr>
			<td valign="center"><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"></td>
			<td width="50%">item is under development.</td>
			<td valign="top"><img src="../images/glass.gif" nosave="" border="0" height="10" width="10"></td>
			<td width="50%">item is under investigation.</td>
		</tr>
		<tr>
			<td valign="center"><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"></td>
			<td width="50%">item is finished.</td>
			<td valign="top">( )</td>
			<td width="50%">item is time permitted.</td>
		</tr>
		<tr>
			<td valign="center"><font class="indexsub" color="#8080ff">[xyz]</font></td>
			<td width="50%">item is deferred to or continues in xyz.</td>
			<td valign="top"><font class="indexsub"><img src="../images/new.gif" border="0"></font></td>
			<td width="50%">new</td>
		</tr>
	</tbody>
</table>

<br>&nbsp;
</body>
</html>
